package com.sjy.pickphotos.pickphotos.crop.util;

import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 文件工具类
 * Created by sjy on 2017/5/10.
 */

public class FileUtil {


    /**
     * 将bitmap保存到本地sd卡  默认文件名为系统时间
     * @param b bitmap
     * @param floderpath 本地文件夹路径 例如： "/sdcard/images"
     * @return
     */
    public static String savePic(Bitmap b, String floderpath, boolean isInsertSys, Context context) {
        File outfile = new File(floderpath);
        // 如果文件不存在，则创建一个新文件
        if (!outfile.isDirectory()) {
            try {
                outfile.mkdir();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        String filename=System.currentTimeMillis() + ".png";
        String fname = outfile + "/" +filename ;
        FileOutputStream fos;
        try {
            fos = new FileOutputStream(fname);
            if (null != fos) {
                b.compress(Bitmap.CompressFormat.PNG, 90, fos);
                fos.flush();
                fos.close();
            }
        } catch (FileNotFoundException e) {
        } catch (IOException e) {
        }
        if(isInsertSys==true){
            // 其次把文件插入到系统图库
            try {
                MediaStore.Images.Media.insertImage(context.getContentResolver(),
                        fname, filename, null);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            // 最后通知图库更新
            context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + fname)));
        }

        return fname;
    }


}